<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>箭头函数</title>
</head>
<body>
    <script>
        // 普通函数

        // 箭头函数和 function 函数的区别
        // 1. 写法简洁                     --
        // 2. this 不能被改变              ---
        // 3. this 指向声明函数时的上下文   ------
        // 4. 箭头函数没有 arguments       ---
        // 5. 如果箭头函数的参数只有一个, 那么可以省略括号  ---
        // 6. 可以设置默认参数              --
        // 7. 如果函数体只要一行, 那么可以省略花括号 --

        let person = {
            name: '石兴龙',
            showName: function() {
                console.log(this, this.name,)
            },
            es6ShowName: (p = 'hello word') => {
                console.log(this.name, p)
            },
            sum: (a , b) => v => c => console.log(c)
        }

        let o = {
            name: '画画的 北北'
        }
        
        person.showName = person.showName.bind(o)
        person.es6ShowName = person.es6ShowName.bind(o)

        person.showName()
        person.es6ShowName()
        person.sum(10, 2)

    </script>
</body>
</html>